using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;

namespace PeDALS.Tools.AZ.PSTArchive.TransformData
{
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://PeDALS")]
    public partial class AIPItem
    {
        private List<AIPItemKeyword> maaikKeywords;
        private List<AIPItemParty> maaipItemParty;
        private List<AIPItemLocation> maailItemLocation;
        private List<AIPItemSubject> maaisItemSubject;
        private List<AIPItemDate> maaidItemDate;
        private AIPItemComponent maicComponent;
        private int mintID;
        private string mstrReceivedFileName;
        private string mstrTitle;
        private string mstrDisplayTitle;
        private string mstrDescription;
        private string mstrExtentDescription;
        private string mstrOpenDate;
        private string mstrSample;
        private string mstrOriginatorIdentifier;
        private string mstrLanguage;
        private string mstrAccessFacilitators;
        private string mstrExceptions;
        private string mstrTechnicalInfrastructureField;
        private string mstrGeneralNote;
        private string mstrCreatedDate;
        private string mstrCreatedBy;
        private string mstrReceivedHashValue;
        private string mstrReceivedHashType;
        private string mstrReceivedHashOriginator;
        private string mstrReceivedHashDate;
        private string mstrDigitalFormatFileType;
        private string mstrDigitalFormatRenderingSoftwareName;
        private string mstrDigitalFormatRenderingSoftwareVersion;
        private string mstrDigitalFormatMimeType;
        private string mstrSoftwareName;
        private string mstrSoftwareVersion;

        public AIPItem()
        {
            this.mintID = 0;
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Keyword", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = false)]
        public List<AIPItemKeyword> Keywords
        {
            get
            {
                return this.maaikKeywords;
            }
            set
            {
                this.maaikKeywords = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemParty", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public List<AIPItemParty> ItemParty
        {
            get
            {
                return this.maaipItemParty;
            }
            set
            {
                this.maaipItemParty = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemLocation", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public List<AIPItemLocation> ItemLocation
        {
            get
            {
                return this.maailItemLocation;
            }
            set
            {
                this.maailItemLocation = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemSubject", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public List<AIPItemSubject> ItemSubject
        {
            get
            {
                return this.maaisItemSubject;
            }
            set
            {
                this.maaisItemSubject = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ItemDate", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public List<AIPItemDate> ItemDate
        {
            get
            {
                return this.maaidItemDate;
            }
            set
            {
                this.maaidItemDate = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public AIPItemComponent Component
        {
            get
            {
                return this.maicComponent;
            }
            set
            {
                this.maicComponent = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(0)]
        public int ID
        {
            get
            {
                return this.mintID;
            }
            set
            {
                this.mintID = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedFileName
        {
            get
            {
                return this.mstrReceivedFileName;
            }
            set
            {
                this.mstrReceivedFileName = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Title
        {
            get
            {
                return this.mstrTitle;
            }
            set
            {
                this.mstrTitle = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DisplayTitle
        {
            get
            {
                return this.mstrDisplayTitle;
            }
            set
            {
                this.mstrDisplayTitle = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Description
        {
            get
            {
                return this.mstrDescription;
            }
            set
            {
                this.mstrDescription = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ExtentDescription
        {
            get
            {
                return this.mstrExtentDescription;
            }
            set
            {
                this.mstrExtentDescription = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OpenDate
        {
            get
            {
                return this.mstrOpenDate;
            }
            set
            {
                this.mstrOpenDate = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Sample
        {
            get
            {
                return this.mstrSample;
            }
            set
            {
                this.mstrSample = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string OriginatorIdentifier
        {
            get
            {
                return this.mstrOriginatorIdentifier;
            }
            set
            {
                this.mstrOriginatorIdentifier = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Language
        {
            get
            {
                return this.mstrLanguage;
            }
            set
            {
                this.mstrLanguage = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string AccessFacilitators
        {
            get
            {
                return this.mstrAccessFacilitators;
            }
            set
            {
                this.mstrAccessFacilitators = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Exceptions
        {
            get
            {
                return this.mstrExceptions;
            }
            set
            {
                this.mstrExceptions = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string TechnicalInfrastructure
        {
            get
            {
                return this.mstrTechnicalInfrastructureField;
            }
            set
            {
                this.mstrTechnicalInfrastructureField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string GeneralNote
        {
            get
            {
                return this.mstrGeneralNote;
            }
            set
            {
                this.mstrGeneralNote = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreatedDate
        {
            get
            {
                return this.mstrCreatedDate;
            }
            set
            {
                this.mstrCreatedDate = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string CreatedBy
        {
            get
            {
                return this.mstrCreatedBy;
            }
            set
            {
                this.mstrCreatedBy = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedHashValue
        {
            get
            {
                return this.mstrReceivedHashValue;
            }
            set
            {
                this.mstrReceivedHashValue = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedHashType
        {
            get
            {
                return this.mstrReceivedHashType;
            }
            set
            {
                this.mstrReceivedHashType = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedHashOriginator
        {
            get
            {
                return this.mstrReceivedHashOriginator;
            }
            set
            {
                this.mstrReceivedHashOriginator = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ReceivedHashDate
        {
            get
            {
                return this.mstrReceivedHashDate;
            }
            set
            {
                this.mstrReceivedHashDate = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DigitalFormatFileType
        {
            get
            {
                return this.mstrDigitalFormatFileType;
            }
            set
            {
                this.mstrDigitalFormatFileType = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DigitalFormatRenderingSoftwareName
        {
            get
            {
                return this.mstrDigitalFormatRenderingSoftwareName;
            }
            set
            {
                this.mstrDigitalFormatRenderingSoftwareName = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DigitalFormatRenderingSoftwareVersion
        {
            get
            {
                return this.mstrDigitalFormatRenderingSoftwareVersion;
            }
            set
            {
                this.mstrDigitalFormatRenderingSoftwareVersion = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string DigitalFormatMimeType
        {
            get
            {
                return this.mstrDigitalFormatMimeType;
            }
            set
            {
                this.mstrDigitalFormatMimeType = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SoftwareName
        {
            get
            {
                return this.mstrSoftwareName;
            }
            set
            {
                this.mstrSoftwareName = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string SoftwareVersion
        {
            get
            {
                return this.mstrSoftwareVersion;
            }
            set
            {
                this.mstrSoftwareVersion = value;
            }
        }
    }
}
